package com.qk.controller;

import com.qk.common.Result;
import com.qk.utils.AliyunOSSOperator;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;

import java.util.UUID;

@Slf4j
@RestController
public class UploadController {
//    注入阿里云依赖
@Autowired
    private AliyunOSSOperator aliyunOSSOperator;

/*    @PostMapping("/upload")
    public Result upload(String username, Integer age, MultipartFile  file) throws Exception {
        log.info("上传成功:{},{},{}",username,age,file);
//        1.构造一个文件名(不能重复)- 使用uuid
          String fileName= file.getOriginalFilename();//获取原始文件名
            String extName= fileName.substring(fileName.lastIndexOf("."));
            String newFileName= UUID.randomUUID().toString()+extName;
//        将文件保存到服务器的磁盘中-->指定保存文件
        file.transferTo(new File("D:\\develop\\abc\\"+newFileName));
        return Result.success();
    }*/

@PostMapping("/upload")
    public Result upload2(MultipartFile  image) throws Exception {
        log.info("上传成功:{}",image);
//        1.构造一个文件名(不能重复)- 使用uuid
        String fileName= image.getOriginalFilename();//获取原始文件名
//    截取最后一个.  获取后缀名
        String extName= fileName.substring(fileName.lastIndexOf("."));
//        随机生成一个名字+后缀名
        String newFileName= UUID.randomUUID().toString()+extName;
//        传递image文件和新名字
//        给前端传递一个url地址
        String url= aliyunOSSOperator.upload(image.getBytes(),newFileName);
        return Result.success(url);
    }
}
